Configuration of computer system(s) (e.g., static and/or dynamic) can be a frustrating, complex process. Computer systems range from relatively simple systems to multi-processor complex systems. For example, high-end servers can include a plurality of hot-pluggable resource(s), a service processor and/or a management console. The service processor and/or the management console can control hardware that is visible to an Operating System-directed Configuration and Power Management system (“OSPM”). Typical scenarios include dynamic partitioning, capacity on demand, and ejection for uptime.
The Advance Configuration and Power Interface (“ACPI”) specification defines an interface to a system board that facilitates operating system directed power management, resource management and system configuration. ACPI defines a standard way for a system board to describe its device configuration and power control hardware interface to an operating system. ACPI provides “control methods” that facilitate manipulating hardware in an ACPI system.
To enhance the functionality of an ACPI machine, the vendor can supply a function driver, which communicates with the ACPI BIOS through an operation region supplied by the driver. In one example, the ACPI driver accesses the operation region by calling an operation region handler supplied by the function driver. By communicating through ACPI operation regions, AML code in the BIOS can invoke device-specific operations that depend on the configuration of the driver and the host system.
ACPI is commonly employed in OSPM environments. The operating system uses ACPI AML (ACPI Machine Language) code stored in ACPI BIOS (Basic Input Output System) to identify devices that are present in a system and to facilitate loading appropriate device drivers for the identified devices.
The ACPI specification 2.0 (“ACPI 2.0”) provides for ejectable resources (e.g., processors, memory, host bridges, etc. and hierarchical containers of same). Typically a management interface controls these resources via the service processor network. A goal of ACPI 2.0 is operating system independence.
Under ACPI 2.0, firmware is permitted to request that a device be ejected which causes the OSPM to attempt to eject the device.